//
//  MediaPlayer_framework_TestViewController.m
//  MediaPlayer.framework.Test
//
//  Created by wu di on 12-1-2.
//  Copyright 2012 UTS. All rights reserved.
//

#import "MediaPlayer_framework_TestViewController.h"

@implementation MediaPlayer_framework_TestViewController

@synthesize labelValue;

-(IBAction) playVideo:(id)sender
{
  NSURL *theMovieURL = [NSURL URLWithString:@"http://192.168.1.100:8080/1.mp4"];
	labelValue.text = @"http://192.168.1.100:8080/1.mp4";
  [self playMovieAtURL:theMovieURL];
}

-(void) playMovieAtURL: (NSURL*) theURL {
    MPMoviePlayerController* theMovie =
                [[MPMoviePlayerController alloc] initWithContentURL: theURL];
    theMovie.scalingMode = MPMovieScalingModeAspectFill;
    theMovie.movieControlMode = MPMovieControlModeDefault;

    // Register for the playback finished notification
    [[NSNotificationCenter defaultCenter]
                    addObserver: self
                       selector: @selector(myMovieFinishedCallback:)
                           name: MPMoviePlayerPlaybackDidFinishNotification
                         object: theMovie];
    // Movie playback is asynchronous, so this method returns immediately.
	
	CGFloat kMovieViewOffsetX = 20.0;
	CGFloat kMovieViewOffsetY = 20.0;
	
	CGRect viewInsetRect = CGRectInset ([self.view bounds],
										kMovieViewOffsetX,
										kMovieViewOffsetY );
	
	[[theMovie view] setFrame:viewInsetRect];
	
	[self.view addSubview: [theMovie view]];
	
	
    [theMovie play];
}


// When the movie is done, release the controller.

-(void) myMovieFinishedCallback: (NSNotification*) aNotification
{
    MPMoviePlayerController* theMovie = [aNotification object];
    [[NSNotificationCenter defaultCenter]
                    removeObserver: self
                              name: MPMoviePlayerPlaybackDidFinishNotification
                            object: theMovie];

    // Release the movie instance created in playMovieAtURL:
    [theMovie release];
}

/*
// The designated initializer. Override to perform setup that is required before the view is loaded.
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}
*/

/*
// Implement loadView to create a view hierarchy programmatically, without using a nib.
- (void)loadView {
}
*/


/*
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
    [super viewDidLoad];
}
*/


/*
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
*/

- (void)didReceiveMemoryWarning {
	// Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];
	
	// Release any cached data, images, etc that aren't in use.
}

- (void)viewDidUnload {
	// Release any retained subviews of the main view.
	// e.g. self.myOutlet = nil;
}


- (void)dealloc {
    [super dealloc];
}

@end
